#ifndef THREAD_H_
#define THREAD_H_

#include <pthread.h>

class Thread {
private:
	pthread_t thread;
	pthread_attr_t attr;
	/* El constructor de los hijos debe setearlo en false*/
	bool boolStop;

public:
	Thread();
	Thread(size_t stacksize);
	virtual ~Thread();

	int start();

	void* join();

	virtual void stop();

	virtual void* run()=0;

	bool getStop();

private:
	static void* start_routine(void*);

};

#endif /* THREAD_H_ */
